import api from 'api'
import { message } from 'antd'
import * as types  from './actionTypes.js'

import { saveUsername } from 'util'
const getSetCountAction = (payload)=>({
    //这个函数是为了派发你自己定义了一个SET_COUNT
    type:types.SET_COUNT,
    //payload为你传进来的数量
    payload
})

export const getCountAction = (values)=>{
    return (dispatch,getState)=>{
        api.getCounts()
        .then(result=>{
            if(result.code == 0){
                dispatch(getSetCountAction(result.data))
            }else{
                message.error('获取首页数据失败,请稍后再试')
            }
        })
        .catch(err=>{
            message.error('网络错误,请稍后再试')
        })
        //ajax
        axios({
            //方法（请求fangfa）
            method:'get',
            //后端地址请求数据
            url:'http://127.0.0.1:3000/counts/',
            //这是个变量，这是后端让你传的参数
            withCredentials:true
        })
        //后端接口请求成功会走.then()
        .then(result=>{
            //声明一个变量为data，result为后端的结果，我们需要的数据在result的data上面
            const data = result.data
            //如果我们前端取到的data===0
            if(data.code === 0){
                //派发到state里面的reducer去处理数据
                //这个函数getSetCountAction是上面定义好的
                dispatch(getSetCountAction(data.data))
            }else{
                message.error('获取首页数据失败,请稍后再试')
            }
        })
        //后端接口请求失败，会走.cath()
        .catch(err=>{
            message.error('网络错误,请稍后再试')
        })
        
    }
}